package com.example;

/**
 * @Author loubobooo
 * @Description #7整数反转
 * @Date 2019/9/4
 */
public class ReverseInteger {

    /**
     * @return
     * @Author loubobooo
     * @Description 给出一个 32 位的有符号整数，你需要将这个整数中每位上的数字进行反转。
     * @Date 2019/9/4 16:58
     * @Param
     **/
    public int reverse(int x) {
        Long reverseNum = 0L;
        while (x / 10 != 0 || x % 10 != 0) {
            int remainder = x % 10;
            reverseNum = reverseNum * 10 + remainder;
            x = x / 10;
        }
        // 如果超出范围了 直接返回0
        if (reverseNum > Integer.MAX_VALUE || reverseNum < Integer.MIN_VALUE) {
            return 0;
        }
        return reverseNum.intValue();
    }

    public static void main(String[] args) {
        ReverseInteger reverseInteger = new ReverseInteger();
        int x = reverseInteger.reverse(1534236469);
        System.out.println(x);
    }

}
